import axios from 'axios';

// 从环境变量加载基础配置
const instance = axios.create({
  baseURL: import.meta.env.VITE_BASE_URL, // 使用环境变量配置基础 URL
  timeout: 5000, // 设置请求超时时间
  withCredentials: true, // 允许发送认证信息
});

// 响应拦截器
instance.interceptors.response.use(
    (response) => {
      // 正常响应直接返回数据
      return response.data;
    },
    (error) => {
      // 错误处理
      if (error.response) {
        const { status, data } = error.response;
        if (status === 401) {
          console.error('认证失败，请检查用户名或密码是否正确');
          // 提供更清晰的错误消息
          alert('认证失败，请重新登录');
        } else if (status === 400) {
          console.error('请求错误：', data.message || 'Bad Request');
        } else {
          console.error('HTTP 错误：', status, data.message || error.message);
        }
      } else {
        console.error('网络错误或超时：', error.message);
      }
      return Promise.reject(error);
    }
);

export default instance;
